package com.roadmap.client.module.task;

import com.roadmap.entities.LifeTask;
import com.roadmap.exception.InvalidQueryException;
import com.roadmap.exception.InvalidValueException;
import com.roadmap.exception.NullObjectException;
import com.roadmap.exception.ServerException;

public interface ITaskProgress {
	/** get the actual progress of a task */
	public int getActualProgress(LifeTask task) throws NullObjectException,
			InvalidQueryException, InvalidValueException, ServerException;

	/** get the actual progress of a task in its plan*/
	public int getActualProgressInPlan(LifeTask task)
			throws NullObjectException, InvalidQueryException,
			InvalidValueException, ServerException;

	/** get the ideal progress of a task */
	public int getIdealProgress(LifeTask task) throws NullObjectException,
			InvalidQueryException, InvalidValueException, ServerException;

	/** get the ideal progress of a task in its plan*/
	public int getIdealProgressInPlan(LifeTask task)
			throws NullObjectException, InvalidQueryException,
			InvalidValueException, ServerException;

}
